package br.com.usjt.sge.web;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import br.com.usjt.sge.usuario.Usuario;
import br.com.usjt.sge.usuario.UsuarioRN;
import br.com.usjt.sge.veiculo.Veiculo;
import br.com.usjt.sge.veiculo.VeiculoRN;

/**
 * Classe de infra-estrutura para obter o login do usuario.
 * @author cicero
 *
 */
@ManagedBean(name = "contextoBean")
@SessionScoped
public class ContextoBean {
	
	private Usuario usuarioLogado = null;
	private Veiculo veiculoUsuarioLogado = null;
	
	public Usuario getUsuarioLogado() {
		
		FacesContext context = FacesContext.getCurrentInstance();
		ExternalContext external = context.getExternalContext();
		String email = external.getRemoteUser();
		
		if (this.usuarioLogado == null || !email.equals(this.usuarioLogado.getEmail())) {
			
			if (email != null) {
				
				UsuarioRN usuarioRN = new UsuarioRN();
				this.usuarioLogado = usuarioRN.buscarPorEmail(email);
				
				VeiculoRN veiculoRN = new VeiculoRN();
				
				
			}
			
		}
		
		return this.usuarioLogado;
		
	}
	
	 
	
	public Veiculo getVeiculoUsuarioLogado() {
		
		if (getUsuarioLogado() != null) {
			
			VeiculoRN veiculoRN = new VeiculoRN();
			this.veiculoUsuarioLogado = veiculoRN.buscarPorUsuario(getUsuarioLogado().getCodigo());
			
			
		}
		
		return veiculoUsuarioLogado;
	}



	public void setVeiculoUsuarioLogado(Veiculo veiculoUsuarioLogado) {
		this.veiculoUsuarioLogado = veiculoUsuarioLogado;
	}



	public void setUsuarioLogado(Usuario usuario) {
		
		this.usuarioLogado = usuario;
		
	}
	

}
